package com.auto.survey.activity.monitoring.entity

import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey

/**
 * 监测对象实体类，对应数据库中的ATS_Monitoring表
 * 每个监测对象属于一个特定项目
 */
@Entity(
    tableName = "MonitoringObject",
    foreignKeys = [
        ForeignKey(
            entity = MontoringProject::class,
            parentColumns = ["id"],
            childColumns = ["projectId"],
            onDelete = ForeignKey.CASCADE
        )
    ],
    indices = [Index(value = ["projectId"])]
)
data class MonitoringObject(
    /**
     * 监测对象ID，主键，自增长
     */
    @PrimaryKey(autoGenerate = true) val id: Int = 0,
    /**
     * 所属项目ID，外键关联ATS_Project表
     */
    val projectId: Int,
    /**
     * 监测对象名称
     */
    val monitoringName: String,
    /**
     * 监测对象类型（桥梁、建筑、山体等）
     */
    val monitoringType: String,
    /**
     * 监测对象描述
     */
    val monitoringDescription: String,
    /**
     * 坐标系（如WGS84、CGCS2000等）
     */
    val coordinateSystem: String,
    /**
     * 创建时间，格式：YYYY-MM-DD HH:MM:SS
     */
    val createTime: String,
    /**
     * 更新时间，格式：YYYY-MM-DD HH:MM:SS
     */
    val updateTime: String
)
